﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using QuanLyGiaoVuDAL.DTO;
using AutoMapper;

namespace QuanLyGiaoVuUI.Models.GiangVienClient
{
    public class DangKyKetThucLopMonHocViewModel
    {
        public Guid ID { get; set; }
        public Guid GiangVienID { get; set; }
        public String MaLopMonHoc { get; set; }
        public DateTime NgayKetThucLopMonHoc { get; set; }
        public Guid MaHocKy { get; set; }
        public DateTime NgayDangKy { get; set; }

        public MonHocDTO MonHoc { get; set; }

        public IEnumerable<LopMonHocDTO> DanhSachLopMonHoc { get; set; }

        public DangKyKetThucLopMonHocDTO ToDangKyKetThucLopMonHocDTO()
        {
            Mapper.CreateMap(typeof(DangKyKetThucLopMonHocViewModel), typeof(DangKyKetThucLopMonHocDTO));
            var dangKyKetThucLopMonHocDTO = new DangKyKetThucLopMonHocDTO();
            Mapper.Map(this, dangKyKetThucLopMonHocDTO);
            return dangKyKetThucLopMonHocDTO;
        }

        public static DangKyKetThucLopMonHocViewModel FromDangKyKetThucLopMonHocDTO(DangKyKetThucLopMonHocDTO dangKyKetThucLopMonHocDTO)
        {
            Mapper.CreateMap(typeof(DangKyKetThucLopMonHocDTO), typeof(DangKyKetThucLopMonHocViewModel));
            var dangKyKetThucLopMonHocViewModel = new DangKyKetThucLopMonHocViewModel();
            Mapper.Map(dangKyKetThucLopMonHocDTO, dangKyKetThucLopMonHocViewModel);
            return dangKyKetThucLopMonHocViewModel;
        }
        public static IEnumerable<DangKyKetThucLopMonHocViewModel> FromDangKyKetThucLopMonHocDTOList(IEnumerable<DangKyKetThucLopMonHocDTO> dangKyKetThucLopMonHocDTOList)
        {
            List<DangKyKetThucLopMonHocViewModel> dangKyKetThucLopMonHocList = new List<DangKyKetThucLopMonHocViewModel>();
            foreach (DangKyKetThucLopMonHocDTO dangKyKetThucLopMonHocDTO in dangKyKetThucLopMonHocDTOList)
            {
                dangKyKetThucLopMonHocList.Add(DangKyKetThucLopMonHocViewModel.FromDangKyKetThucLopMonHocDTO(dangKyKetThucLopMonHocDTO));
            }
            return dangKyKetThucLopMonHocList.AsEnumerable();
        }
    }
}